import generateMockData from './MockData'

/**
 * 健康数据服务
 * 提供统一的数据访问接口，方便后续切换到后端API
 */
class HealthDataService {
  /**
   * 获取健康报告数据
   * @param {string} period - 时间段 (daily, weekly, monthly)
   * @returns {Promise<Object>} 健康报告数据
   */
  async getHealthReportData(period = 'daily') {
    // 模拟API调用延迟
    await new Promise(resolve => setTimeout(resolve, 500))

    // 在实际项目中，这里会是API调用
    // 例如: return await axios.get(`/api/health/report?period=${period}`)

    // 目前使用mock数据
    return generateMockData(period)
  }

  /**
   * 获取特定时间段的健康指标数据
   * @param {string} metricType - 指标类型
   * @param {string} period - 时间段
   * @returns {Promise<Object>} 指标数据
   */
  async getMetricData(metricType, period = 'daily') {
    // 模拟API调用延迟
    await new Promise(resolve => setTimeout(resolve, 300))

    // 返回特定指标的数据
    const mockData = generateMockData(period)
    const metricData = mockData.healthMetrics[metricType]
    return {
      config: mockData.healthMetricsConfig[metricType],
      data: metricData
    }
  }
}

// 导出单例实例
export default new HealthDataService()
